package w16;

public class S02 {
	//根据命令行参数显示多个表达式的值，表达式形如 3 + 5 = 8，命令行参数最多可有3个整数参数。
	//	若没有给出命令行参数，则参与计算的两个整数值默认在[1,100]范围内，需要显示5个表达式。若有参数，则参数表示的含义如下：
	//	若有1个参数，则表示表达式的个数
	//	若有2个参数，则表示参与计算数据的最大值及表达式的个数
	//	若有3个参数，则表示参与计算数据的最小值、最大值及表达式的个数
	//	超过3个参数，则为语法错误

	public static void main(String[] args) {
		int min=1, max=100,count=5;
		int ps=args.length;//命令行参数的个数
		if(ps>3) {
			System.out.println("语法错误，命令行最多3个整数参数~");
			return;
		}
//		if(ps==1) {
//			count=Integer.parseInt(args[0]);
//		}else if(ps==2) {
//			max=Integer.parseInt(args[0]);
//			count=Integer.parseInt(args[1]);
//		}else if(ps==3) {
//			min=Integer.parseInt(args[0]);
//			max=Integer.parseInt(args[1]);
//			count=Integer.parseInt(args[2]);
//		}
		if(ps>=1)count=Integer.parseInt(args[ps-1]); //这3行等同于上面的多分支if语句
		if(ps>=2)max=Integer.parseInt(args[ps-2]);
		if(ps>=3)min=Integer.parseInt(args[0]);//ps-3

		for(int i=0;i<count;++i) {
			int a=(int)(Math.random()*(max-min+1)+min);
			int b=(int)(Math.random()*(max-min+1)+min);
			System.out.printf("%d + %d = %d\n",a, b, a+b);
		}
	}
}












